package com.xiao.train.business.req;

        import java.util.Date;
        import com.fasterxml.jackson.annotation.JsonFormat;
        import java.math.BigDecimal;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;

public class DailyTrainStationSaveReq {

    /**
    * id
    */
    private Long id;

    /**
    * 日期
    */
            @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
                @NotNull(message = "【日期】不能为空")
    private Date date;

    /**
    * 车次编号
    */
                @NotBlank(message = "【车次编号】不能为空")
    private String trainCode;

    /**
    * 站序|第一站是0
    */
                @NotNull(message = "【站序】不能为空")
    private Integer index;

    /**
    * 站名
    */
                @NotBlank(message = "【站名】不能为空")
    private String name;

    /**
    * 站名拼音
    */
                @NotBlank(message = "【站名拼音】不能为空")
    private String namePinyin;

    /**
    * 进站时间
    */
            @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    private Date inTime;

    /**
    * 出站时间
    */
            @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    private Date outTime;

    /**
    * 停站时长
    */
            @JsonFormat(pattern = "HH:mm:ss",timezone = "GMT+8")
    private Date stopTime;

    /**
    * 里程（公里）|从上一站到本站的距离
    */
                @NotNull(message = "【里程（公里）】不能为空")
    private BigDecimal km;

    /**
    * 新增时间
    */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date createTime;

    /**
    * 修改时间
    */
            @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date updateTime;

    public Long getId() {
    return id;
    }

    public void setId(Long id) {
    this.id = id;
    }

    public Date getDate() {
    return date;
    }

    public void setDate(Date date) {
    this.date = date;
    }

    public String getTrainCode() {
    return trainCode;
    }

    public void setTrainCode(String trainCode) {
    this.trainCode = trainCode;
    }

    public Integer getIndex() {
    return index;
    }

    public void setIndex(Integer index) {
    this.index = index;
    }

    public String getName() {
    return name;
    }

    public void setName(String name) {
    this.name = name;
    }

    public String getNamePinyin() {
    return namePinyin;
    }

    public void setNamePinyin(String namePinyin) {
    this.namePinyin = namePinyin;
    }

    public Date getInTime() {
    return inTime;
    }

    public void setInTime(Date inTime) {
    this.inTime = inTime;
    }

    public Date getOutTime() {
    return outTime;
    }

    public void setOutTime(Date outTime) {
    this.outTime = outTime;
    }

    public Date getStopTime() {
    return stopTime;
    }

    public void setStopTime(Date stopTime) {
    this.stopTime = stopTime;
    }

    public BigDecimal getKm() {
    return km;
    }

    public void setKm(BigDecimal km) {
    this.km = km;
    }

    public Date getCreateTime() {
    return createTime;
    }

    public void setCreateTime(Date createTime) {
    this.createTime = createTime;
    }

    public Date getUpdateTime() {
    return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
    }

@Override
public String toString() {
StringBuilder sb = new StringBuilder();
sb.append(getClass().getSimpleName());
sb.append(" [");
sb.append("Hash = ").append(hashCode());
    sb.append(", id=").append(id);
    sb.append(", date=").append(date);
    sb.append(", trainCode=").append(trainCode);
    sb.append(", index=").append(index);
    sb.append(", name=").append(name);
    sb.append(", namePinyin=").append(namePinyin);
    sb.append(", inTime=").append(inTime);
    sb.append(", outTime=").append(outTime);
    sb.append(", stopTime=").append(stopTime);
    sb.append(", km=").append(km);
    sb.append(", createTime=").append(createTime);
    sb.append(", updateTime=").append(updateTime);
sb.append("]");
return sb.toString();
}
}
